/*
 * WorkUnitMonitor.h
 *
 *  Created on: Jul 3, 2009
 *      Author: rpledge
 */

#ifndef WORKUNITMONITOR_H_
#define WORKUNITMONITOR_H_

#include <WorkUnit/WorkUnit.h>
#include <string>

namespace ComputingObjects {

class WorkUnitMonitor: public ComputingObjects::WorkUnitObserver {
public:
	WorkUnitMonitor(std::string monitorAddress, int port);
	virtual ~WorkUnitMonitor();

	void stateChange(WorkUnit& unit, enum WorkUnit::state previousState);

protected:
	std::string myMonitorAddress;
	int myPort;
	int mySocket;
};

}

#endif /* WORKUNITMONITOR_H_ */
